Адміністрація вирішила продати даний сайт. За детальною інформацією звертайтесь за адресою: rozrahu@gmail.com

Стеганографічні методи приховування інформації в зображеннях

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Не вказано

Інформація про роботу

Рік:
2013
Тип роботи:
Звіт до лабораторної роботи
Предмет:
Методи і засоби стеганографії

Частина тексту файла

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА» Кафедра БІТ ЗВІТ до лабораторної роботи №2 з дисципліни: «Методи і засоби стеганографії» на тему: «Стеганографічні методи приховування інформації в зображеннях» Львів - 2013 Мета Навчитися приховувати інформацію в зображеннях з розширенням .bmp різними стеганографічними методами (наприклад метод НЗБ) , використовуючи середовище програми Matlab. Хід роботи 1.Маємо контейнер у вигляді зображення та повідомлення у вигляді тексту. 2. Аналізуємо контейнер на можливість вбудовування в нього повідомлення. Тобто обчислюємо кількість інформації , яку можна вбудувати в найменш значущі біти. Також обчислюємо ,скільки біт необхідно для зберігання максимально можливого розміру файла. 3.Після отримання підтвердження , що у контейнер можна вбудувати повідомлення, приховуємо повідомлення у НЗБ контейнера. При цьому перевіряємо, чи не перевищує файл який ми вбудовуємо максимально допустимий розмір. Аналогічним способом буде відбуватися видобування повідомлення зі заповненого контейнера: 1.Ми вже знаємо, що у перших бітах цього контейнера міститься інформація про розмір прихованого файлу. 2.Обчислюємо кількість інформації, яка може бути прихована. 3.Видобуваємо саме початкове зображення, виділяємо найменш значущі біти. 4.Виділяємо байти з прихованою інформацією,виділяємо найбільш значущі біти. 5.Після того, як отримаємо прямокутний масив бітів, записуємо послідовність даних в файл. Таким чином ми відновили вихідне секретне повідомлення. Лістинг програми для вбудовування imgname='img.bmp'; filename='text.doc'; % reading IMAGE, finding its size img = imread(imgname); img_size_y=size(img,1); img_size_x=size(img,2); max_Bytes=img_size_y*img_size_x*3/8; num_bits=ceil(log2(max_Bytes)); % reading file to variable fid = fopen(filename); file = fread(fid); status =fclose(fid); file_size=size(file,1); % checking the possibility of embedding if (file_size*8+num_bits<=max_Bytes*8) can=true; else can=false; end; if (can), % FILE size -> bit's row file_size_arr=zeros(num_bits,1); for ind=0:1:num_bits-1, file_size_arr(ind+1)=bitand(bitshift(file_size,-ind),1); end; % hidded FILE -> bit's row DATA_bits = uint8(im2bw([bitand(file,128),... bitand(file,64), ... bitand(file,32), ... bitand(file,16), ... bitand(file,8), ... bitand(file,4), ... bitand(file,2), ... bitand(file,1)],0.6)); %FILE size bits + FILE data bits BITs=[file_size_arr; DATA_bits(:)]; newimg=img; BITs_ind=1:size(BITs,1); BITs_ind=BITs_ind'; newimg(BITs_ind)=bitshift(img(BITs_ind),-1); newimg(BITs_ind)=bitshift(newimg(BITs_ind),1)+BITs; imwrite(newimg,'stego_img.bmp','bmp'); imshow(newimg); end; if (~can), disp(['File "',filename,'" is too large for embedding']); end; Лістинг програми для видобування imgname = 'stego_img.bmp'; img = imread(imgname); img_size_y = size(img,1); img_size_x = size(img,2); max_bytes = img_size_y*img_size_x*3/8; num_bits = ceil(log2(max_bytes)); ind = 1: num_bits; file_size_bits_arr = img(ind); file_size_bits_arr = uint32(bitand(file_size_bits_arr ,1)); for ind = 1:1:num_bits file_size_bits_arr(ind) = file_size_bits_arr(ind)*(2^(ind-1)); end; file_size_bits_arr = file_size_bits_arr'; file_size = uint32(sum(file_size_bits_arr)); ind = num_bits+1 : num_bits+file_size*8; pixels_with_bits = img(ext_ind); BITS_arr=bitand(pixels_with_bits,1)'; BITS_arr=reshape(BITS_arr,file_size,8); BITS_arr = uint8([BITS_arr(:,1)*128,... BITS_arr(:,2)*64,... BITS_arr(:,3)*32,... BITS_arr(:,4)*16,... BITS_arr(:,5)*8,... BITS_arr(:,6)*4,... BITS_arr(:,7)*2,... BITS_arr(:,8)*1]); bytes = sum(BITS_arr,2); fid = fopen('textrenew.doc','w'); count = fwrite(fid, bytes); fclose(fid); Висновок На цій лабораторній роботі я навчився застосовувати стеганографічний метод НЗБ для вбудовування повідомлення в 8-бітне зображення з розширенням .bmp секретного текстового повідомлення.
Антиботан аватар за замовчуванням

27.05.2014 23:05

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини